const db = require('../db')
// 获取文章分类列表


exports.getCates = (req, res) => {
    const sql = `select * from ev_article_cate where is_delete=0`
    db.query(sql, [], (err, results) => {
        // 执行失败
        if (err) return res.cc(err)


        // 执行成功 TODO: 
        res.send({
            status: 0,
            message: '获取文章分类列表成功!',
            data: results
        })
    })
}
// 新增文章分类
exports.addCate = (req, res) => {
    //   验证用户传入的分类名称和别名是否重复\
    const sql = 'select *from ev_article_cate where name=? or alias=?'
    const { name, alias } = req.body
    db.query(sql, [name, alias], (err, results) => {
        // 执行失败
        if (err) return res.cc(err)
        // 非查询条件需要判断影响的行数
        if (results.length > 0) return res.cc('分类名称和别名不能重复!')
        // 执行成功 TODO: 
        // 定义插入语句
        const sql = `insert into ev_article_cate set ?`
        // 执行插入语句
        db.query(sql, { name, alias }, (err, results) => {
            // 执行失败
            if (err) return res.cc(err)
            // 非查询条件需要判断影响的行数
            if (results.affectedRows !== 1) return res.cc('操作失败!')
            // 执行成功 TODO: 
            res.send({
                status: 0,
                message: '新增分类数据成功'
            })
        })

    })
}
// 根据 Id 删除文章分类
exports.deleteCateById = (req, res) => {
    // 定义更新语句,把指定ID的分类数据的is_delete值修改为1
    const sql = `update ev_article_cate set is_delete=1 where Id=? `
    db.query(sql, [req.params.id], (err, results) => {
        // 执行失败
        if (err) return res.cc(err)
        // 非查询条件需要判断影响的行数
        if (results.affectedRows !== 1) return res.cc('操作失败!')
        // 执行成功 TODO: 
        res.send({
            status: 0,
            message: '删除数据成功!'
        })
    })
}
// 根据 Id 获取文章分类数据
exports.getCateById = (req, res) => {
    // 执行语句
    const sql = `select * from ev_article_cate where Id=?`
    db.query(sql, [req.params.id], (err, results) => {
        // 执行失败
        if (err) return res.cc(err)
        // 非查询条件需要判断影响的行数
        if (results.length == 0) return res.cc('获取分类失败!')
        // 执行成功 TODO: 
        res.send({
            status: 0,
            message: '获取分类数据成功!',
            date: results[0]
        })
    })
}
// 根据 Id 更新文章分类数据
exports.updateCate = (req, res) => {
    // 验证用户传入的分类名称和别名是否重复
    const { name, alias, Id } = req.body
    const sql = `select * from ev_article_cate where (name=? or alias=?) and Id !=?`
    db.query(sql, [name, alias, Id], (err, results) => {
        // 执行失败
        if (err) return res.cc(err)
        // 非查询条件需要判断影响的行数
        if (results.length > 0) return res.cc('分类名称或别名不能重复!')
        // 执行成功 TODO: 
        const sql = `update ev_article_cate set ?  where Id=?`
        db.query(sql, [{ name, alias }, Id], (err, results) => {
            // 执行失败
            if (err) return res.cc(err)
            // 非查询条件需要判断影响的行数
            if (results.affectedRows !== 1) return res.cc('操作失败!')
            // 执行成功 TODO: 
            res.send({
                status: 0,
                message: '更新分类数据成功!'
            })
        })
    })
    //

}